package com.qzsoft.system.modules.permission.roleclass.dto;

import com.qzsoft.jeemis.common.validator.group.DefaultGroup;
import com.qzsoft.jeemis.common.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 权限角色分组表(权限角色)(SysRoleGroup)表实体类
 *
 * @author zt
 * @since 2020-09-22 14:24:45
 */
@ApiModel(value = "权限角色分组表(权限角色)")
@Data
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString
public class SysRoleClassDTO implements Serializable {
    private static final long serialVersionUID = 677294253475891872L;

    /**
     * id
     */
    @ApiModelProperty(value = "id")
    @NotNull(message = "分组ID不能为空", groups = UpdateGroup.class)
    private String id;

    /**
     * 分组名称
     */
    @ApiModelProperty(value = "分组名称")
    @NotNull(message = "分组名称不能为空", groups = DefaultGroup.class)
    private String name;

    /**
     * 父节点
     */
    @ApiModelProperty(value = "父节点")
    private String pid;

    /**
     * 是否系统内置分组
     */
    @ApiModelProperty(value = "是否系统内置分组")
    private Boolean hasSystem;

    /**
     * 1分组全是分组
     */
    @ApiModelProperty(value = "1分组全是分组")
    private Boolean hasGroup;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 简拼
     */
    @ApiModelProperty(value = "简拼")
    private String spell;

    /**
     * 拼音
     */
    @ApiModelProperty(value = "拼音")
    private String pinyin;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer orderId;

}